package com.axon.components.controls
{
	import mx.controls.TextInput;
	import mx.events.FlexEvent;

	[Style(name="axBackgroundColor",			type="uint", format="Color", inherit="yes")]
	[Style(name="axBackgroundColorReadOnly", 	type="uint", format="Color", inherit="yes")]

	public class AxTextInput extends TextInput
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function AxTextInput()
		{
			super();
			addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		override public function set editable(value: Boolean): void
		{
			super.editable = value;
			refreshStyle();
		}

		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		protected function onCreationComplete( event: FlexEvent ): void
		{
			refreshStyle();
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////

		protected function refreshStyle(): void
		{
			setStyle("backgroundColor", (editable) ? getStyle("axBackgroundColor") : getStyle("axBackgroundColorReadOnly"));
		}		

	}
}